Application Controlling Apparatus And Storage Medium Which Stores Software For The Apparatus

ABSTRACT

An application controlling apparatus includes a basic application storage means  1  for storing basic applications  3   1  to  3   n  for implementing basic functions, a basic application execution means  2  for reading a basic application from the basic application storage means so as to make the basic application be executed, an extended application acquisition/storage means  5  for acquiring and storing extended applications  7   1  to  7   m  for implementing additional functions, an extended application execution means  6  for reading an extended application from the extended application acquisition/storage means so as to make the extended application be executed, and a resource monitor means  8  for monitoring resources currently being consumed by the execution of the extended application, and for stopping a predetermined extended application while keeping the basic application running when the amount of usage of the resources exceeds a predetermined amount.

FIELD OF THE INVENTION

The present invention relates to an application controlling apparatusand a storage medium which stores software used for the apparatus. Moreparticularly, it relates to a technology for recovering control when anapplication falls out of control.

BACKGROUND OF THE INVENTION

Conventionally, an application controlling apparatus which isincorporated into, for example, equipment like a car navigationapparatus, and which manages various application programs (simplyreferred to as “applications” from here on) so as to make the equipmentexecute an application properly is known. Applications which are managedby this application controlling apparatus include basic applications forimplementing the basic functions of the equipment, and extendedapplications for implementing additional functions for improving theconvenience of the equipment, which are not the basic functions of theequipment.

As such an application controlling apparatus, patent reference 1discloses an application controlling apparatus which even if an extendedapplication (referred to as an additional application in the reference)hangs up, can return to a management screen provided by an applicationmanager which manages basic applications (referred to as existingapplications in the reference) without forcing an application managerwhich manages the extended application to terminate.

The application controlling apparatus disclosed by this patent reference1 is constructed so that a basic application is managed by the firstapplication manager and an extended application is managed by the secondapplication manager, and switching from the second application managerto the first application manager is carried out by a screen control unitwhich can run independently from the second application manager.Thereby, even if an extended application or the second applicationmanager hangs up, the prior art application controlling apparatus canswitch to the first application manager's screen.

[Patent Reference 1] JP,2003-271397,A

The application controlling apparatus disclosed by above-mentionedpatent reference 1, when an extended application hangs up, can return tothe management screen provided by the application manager which managesbasic applications without forcing the application manager which managesthe extended application to terminate. A problem with the prior artapplication controlling apparatus is, however, that in the event that anextended application runs away out of control and this results in eitherexhaustion of the memory of the system or entering into an endless loopand then occupying the CPU (Central Processing Unit), and theapplication controlling apparatus then falls out of control and theoperations of basic applications are therefore affected, the applicationcontrolling apparatus cannot take appropriate measures.

The present invention is made in order to solve the problem, and it istherefore an object of the present invention to provide an applicationcontrolling apparatus which can take appropriate measures even if anextended application falls out of control, and a storage medium whichstores software used for the apparatus.

DISCLOSURE OF THE INVENTION

In accordance with the present invention, there is provided anapplication controlling apparatus including: a basic application storagemeans for storing a basic application for implementing a basic function;a basic application execution means for reading a basic application fromthe basic application storage means so as to make the basic applicationbe executed; an extended application acquisition/storage means foracquiring and storing an extended application for implementing anadditional function; an extended application execution means for readingan extended application from the extended applicationacquisition/storage means so as to make the extended application beexecuted; and a resource monitor means for monitoring resourcescurrently being consumed by the execution of the extended application,and for stopping a predetermined extended application while keeping thebasic application running when an amount of usage of the resourcesexceeds a predetermined amount.

In accordance with the present invention, there is provided a storagemedium which stores software which can be executed by a computer, thesoftware including the steps of: reading a basic application forimplementing a basic function from a basic application storage means forstoring the basic application so as to make the basic application beexecuted; reading an extended application for implementing an additionalfunction from an extended application acquisition/storage means foracquiring and storing the extended application so as to make theextended application be executed; monitoring resources currently beingconsumed by execution of the extended application; and stopping apredetermined extended application while keeping the basic applicationrunning when an amount of usage of the resources exceeds a predeterminedamount.

The application controlling apparatus in accordance with the presentinvention is so constructed as to monitor the amount of usage of theresources, judge whether an extended application runs away of control orenters an endless loop so as to determine whether the extendedapplication falls out of control from the amount of usage of theresources, and stop the extended application if needed, by using theresource monitor means. Therefore, even if an extended application fallsout of control, the application controlling apparatus can prevent anyinfluence from being exerted upon the operations of basic applicationsof high importance.

Application of the software stored in the storage medium in accordancewith the present invention to an application controlling apparatus canprovide the same advantage as provided by the application controllingapparatus in accordance with the above-mentioned first invention.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 is a block diagram showing the structure of an applicationcontrolling apparatus in accordance with embodiment 1 of the presentinvention;

FIG. 2 is a flow chart for explaining the operation of a resourcemonitor means of the application controlling apparatus in accordancewith embodiment 1 of the present invention;

FIG. 3 is a block diagram showing the structure of an applicationcontrolling apparatus in accordance with embodiment 2 of the presentinvention; and

FIG. 4 is a block diagram showing the structure of an applicationcontrolling apparatus in accordance with embodiment 3 of the presentinvention.

PREFERRED EMBODIMENTS OF THE INVENTION

Hereafter, in order to explain this invention in greater detail, thepreferred embodiments of the present invention will be described withreference to the accompanying drawings.

Hereafter, a case in which an application controlling apparatus inaccordance with the present invention is applied to vehicle-mountedequipment will be explained.

Embodiment 1

FIG. 1 is a block diagram showing the structure of an applicationcontrolling apparatus in accordance with embodiment 1 of the presentinvention. This application controlling apparatus is provided with abasic application storage means 1, a basic application execution means2, basic applications 3 ₁ to 3 _(n), resources 4, an extendedapplication acquisition/storage means 5, an extended applicationexecution means 6, extended applications 7 _(1 to 7) _(m), a resourcemonitor means 8, a watchdog timer 9, and a communication unit 10. Thebasic application execution means 2 includes a resource management means2 a. The extended application execution means 6 includes a resourcemanagement means 6 a.

The basic application storage means 1 consists of, for example, a harddisk or a flash memory. In a case in which the vehicle-mounted equipmentis a car navigation apparatus, the basic applications 3 ₁ to 3 _(n)which are stored in this basic application storage means 1 implement itsfundamental functions, such as a navigation function and a routesearching function. The basic applications 3 ₁ to 3 _(n) stored in thisbasic application storage means 1 are read by the basic applicationexecution means 2.

The basic application execution means 2 has a function of reading thebasic applications 3 ₁ to 3 _(n) from the basic application storagemeans 1, and making these read basic applications 3 ₁ to 3 _(n) beexecuted by using the resources 4. The basic application execution means2 is a program which can consist of, for example, an operating system(abbreviated as “OS: Operating System” from here on). In this case, thebasic applications 3 ₁ to 3 _(n) run on the OS. The resource managementmeans 2 a included in the basic application execution means 2 managesresources which are provided for the basic applications 3 ₁ to 3 _(n).

The resources 4 consist of, for example, a CPU, a memory and an externalstorage unit, and are required in order for the basic program andextended program execution means to execute the basic applications 3 ₁to 3 _(n) and the extended applications 7 ₁ to 7 _(m) (which will bementioned later in detail). While these resources 4 are provided to thebasic applications 3 ₁ to 3 _(n) via the resource management means 2 aincluded in the basic application execution means 2, they are alsoprovided to the extended applications 7 ₁ to 7 _(m) via the resourcemanagement means 6 a included in the extended application executionmeans 6.

The extended application acquisition/storage means 5 consists of, forexample, a hard disk or a flash memory. In a case in which thevehicle-mounted equipment is a car navigation apparatus, this extendedapplication acquisition/storage means 5 acquires the extendedapplications 7 ₁ to 7 _(m) which are provided to implement, for example,a music playback function and a moving image playback function, etc.which are additional functions of the car navigation apparatus, eithervia the communication unit 10 connected to an external network, or froman external storage unit in which a storage medium, such as a CD-ROM(Compact Disk Read Only Memory) or a DVD-ROM (Digital Versatile DiskRead Only Memory), is mounted. The extended applications 7 ₁ to 7 _(m)stored in this extended application acquisition/storage means 5 are readby the extended application execution means 6.

The extended application execution means 6 has a function of reading theextended applications 7 ₁ to 7 _(m) from the extended applicationacquisition/storage means 5, and making these read extended applications7 ₁ to 7 _(m) be executed using the resources 4. The resources 4 areprovided to each of the extended applications 7 ₁ to 7 _(m) via theresource management means 6 a included in the extended applicationexecution means 6. The extended application execution means 6 canconsist of, for example, a Java (registered trademark) virtual machine.In this case, the extended applications 7 ₁ to 7 _(m) are Java(registered trademark) programs which run on the Java (registeredtrademark) virtual machine. The extended application execution means 6is implemented as one of the basic applications 3 ₁ to 3 _(n) (forexample, the Java (registered trademark) virtual machine on the OS). Theresource management means 6 a included in the extended applicationexecution means 6 manages resources which are provided to the extendedapplications 7 ₁ to 7 _(m).

When the resource monitor means 8 monitors the usage status of theresources 4 being used by the extended applications 7 ₁ to 7 _(m) andthe amount of usage of the resources 4 exceeds a predetermined amount,the resource monitor means 8 stops a part or all of the extendedapplications 7 ₁ to 7 _(m) while keeping the basic applications 3 ₁ to 3_(n) running. The details of this resource monitor means 8 will bementioned later.

The watchdog timer 9 is used in order to monitor the execution times ofthe extended applications 7 ₁ to 7 _(m). The extended applications 7 ₁to 7 _(m) are so constructed as to reset the watchdog timer 9 atpredetermined time intervals. Therefore, the watchdog timer 9 issues analarm when the extended applications 7 ₁ to 7 _(m) cannot reset thiswatchdog timer 9 within a predetermined time period for a certain reason(for example, if an extended application cannot exit from the currentlyrunning loop within the program itself).

The communication unit 10 consists of, for example, a mobile phone and awireless LAN control apparatus, and communicates with an external devicevia the external network. This communication unit 10 is used in order toacquire the extended applications 7 ₁ to 7 _(m) from the externaldevice, as mentioned above.

Next, the details of the resource monitor means 8 will be explained. Theapplication controlling apparatus, by adding the above-mentionedextended applications 7 ₁ to 7 _(m), can add easily any functions whichthe basic applications 3 ₁ to 3 _(n) do not have, and, by absorbingdiscrepancies between CPUs and OSs by using extended applicationexecution means 6, can implement a desired function independent of theCPU and the OS, such as a Java (registered trademark) program.

However, if the extended applications 7 ₁ to 7 _(m) which are executingadditional functions run away of control due to bugs or the like and alot of resources are consumed, there is a possibility that theoperations of the basic applications 3 ₁ to 3 _(n) which are executingimportant functions are interfered with. Assuming a case in which thecar navigation apparatus implements its navigation function by using thebasic applications 3 ₁ to 3 _(n) while executing, as the extendedapplications 7 ₁ to 7 _(m), a game program which is downloaded via theInternet and which is written in Java (registered trademark), there is afear of occurrence of malfunctions in the navigation function (beingunable to provide route guidance at an appropriate timing when thevehicle approaches an intersection, or the like) if the game programupdates the screen frequently. The resource monitor means 8 is providedin order to prevent occurrence of such a situation.

FIG. 2 is a flow chart showing a resource monitoring process carried outby the resource monitor means 8. The resource monitor means 8 checks theamount of usage of the resources 4 first (step ST10). The resourcemonitor means then checks to see whether the amount of usage of theresources 4 exceeds a predetermined amount (step ST11). When determiningthat the amount of usage of the resources 4 does not exceed thepredetermined amount, the resource monitor means waits for only apredetermined time period (step ST12), and, after that, returns thesequence to step ST10. In contrast, when, in above-mentioned step ST11,determining that the amount of usage of the resources 4 exceeds thepredetermined amount, the resource monitor means stops only the extendedapplications 7 ₁ to 7 _(m) (step ST13). The above-mentioned processesimplement the function of checking the amount of usage of the resources4 at predetermined intervals, and stopping only the extendedapplications 7 ₁ to 7 _(m) while keeping the basic applications 3 ₁ to 3_(n) running when the amount of usage of the resources 4 exceeds thepredetermined amount.

As previously explained, although the amount of the resources 4 requiredfor execution of applications, such as a usage ratio of the CPU and anamount of memory, decreases when an application runs away of control orgoes into an endless loop, the application controlling apparatus inaccordance with embodiment 1 of the present invention monitors theamount of usage of the resources 4, and, if it exceeds the predeterminedamount, stops only the extended applications 7 ₁ to 7 _(m) ofgenerally-less importance than the basic applications 3 ₁ to 3 _(n).Therefore, the application controlling apparatus can take appropriatemeasures of not having a bad influence upon the operations of the basicapplications 3 ₁ to 3 _(n) of greater importance.

The application controlling apparatus in accordance with above-mentionedembodiment 1, as shown in the flow chart of FIG. 2, is so constructed asto carry out a check of the amount of usage of the resources 4 atpredetermined intervals so as to facilitate the checking process. As analternative, the application controlling apparatus can be so constructedas to check the amount of usage of the resources 4 when receiving arequest for resources from the extended applications 7 ₁ to 7 _(m).Because it can be assumed that with this structure, the amount of usageof the resources 4 increases at the time when a resource request processis carried out, the amount of usage of the resources 4 can be checkedeffectively.

The resource monitor means 8 can be alternatively so constructed as to,when, in above-mentioned step ST11, determining that the amount of usageof the resources 4 being used by the extended applications 7 ₁ to 7 _(m)exceeds the predetermined amount, return an error in response to anyfuture request for resources 4 from the extended applications 7 ₁ to 7_(m), instead of stopping the extended applications 7 ₁ to 7 _(m) instep ST13. With this structure, the resource monitor means can not onlykeep the basic applications 3 ₁ to 3 _(n) running, but also keep theextended applications 7 ₁ to 7 _(m) running if the extended applications7 ₁ to 7 _(m) do not make a request for resources 4.

The resource monitor means 8 can be alternatively so constructed as to,when, in above-mentioned step ST11, determining that the amount of usageof the resources 4 being used by the extended applications 7 ₁ to 7 _(m)exceeds the predetermined amount, return an error in response to anystart request from the extended applications 7 ₁ to 7 _(m) to inhibit astart of new extended applications 7 ₁ to 7 _(m), instead of stoppingthe extended applications 7 ₁ to 7 _(m) in step ST13. With thisstructure, the resource monitor means can not only keep the basicapplications 3 ₁ to 3 _(n) running, but also keep the extendedapplications 7 ₁ to 7 _(m), which have been running, running.

The resource monitor means 8 can also be so constructed as to monitor,as the resources 4 currently being consumed by the execution of extendedapplications 7 ₁ to 7 _(m), the usage rate of the CPU, the amount ofusage of the memory, the amount of usage of the external storage unit,the number of extended applications 7 ₁ to 7 _(m) being executed, thenumber of objects being displayed on the screen, the sum of the areas ofthe objects being displayed on the screen, or the hardware resourcesrequired for the execution of other extended applications 7 ₁ to 7 _(m).In this case, the resource monitor means 8 can also be so constructed asto monitor a combination of one or more of these factors according tothe use or the purpose of the extended applications 7 ₁ to 7 _(m). Withthis structure, the resource monitor means can also support a case inwhich important resources 4 vary according to the use or the purposes ofthe extended applications 7 ₁ to 7 _(m).

The resource monitor means 8 can also be so constructed as to monitornot only the amount of usage of the resources 4 being used by theextended applications 7 ₁ to 7 _(m) but also the amount of usage of theresources 4 being used by the basic applications 3 ₁ to 3 _(n). Withthis structure, because a larger amount of the resources 4 can beassigned to the extended applications 7 ₁ to 7 _(m) if the amount ofusage of the resources 4 being used by the basic applications 3 ₁ to 3_(n) is small, the extended applications 7 ₁ to 7 _(m) can use a largeamount of the resources 4 when the basic applications 3 ₁ to 3 _(n) donot use a large amount of the resources 4.

The resource monitor means 8 can also be so constructed as to stop allthe extended applications 7 ₁ to 7 _(m) at a time by stopping theextended application execution means 6, instead of stopping the extendedapplications 7 ₁ to 7 _(m) independently, when the amount of usage ofthe resources 4 being used by the extended applications 7 ₁ to 7 _(m)exceeds the predetermined amount. With this structure, the resourcemonitor means can also support a case in which it cannot stop theextended applications 7 ₁ to 7 _(m) independently for some reason.

In the case in which the resource monitor means is so constructed as tostop the extended application execution means 6 when the amount of usageof the resources 4 being used by the above-mentioned extendedapplications 7 ₁ to 7 _(m) exceeds the predetermined amount, theresource monitor means 8 can restart the extended application executionmeans 6 from its initial state after stopping this extended applicationexecution means 6, and restart all or a part of the extendedapplications 7 ₁ to 7 _(m) which were running when stopping the extendedapplication execution means 6 from their initial states. With thisstructure, the resource monitor means can restore the extendedapplication execution means 6 to a previous state in which it was placedbefore stopped or a state close to the previous one.

The resource monitor means 8 can also be so constructed as to restartthe extended application execution means 6 from its initial state whenthe amount of usage of the resources 4 returns to equal to or smallerthan the predetermined amount after stopping the extended applicationexecution means 6. With this structure, the resource monitor means canrestore the extended application execution means 6 to a previous statein which it was placed before stopped or a state close to the previousone when the available amount of the resources 4 is restored.

Similarly, the resource monitor means 8 can be so constructed as to,after stopping all or a part of the extended applications 7 ₁ to 7 _(m),restart all or the part of the extended applications 7 ₁ to 7 _(m)stopped from their initial states when the amount of usage of theresources 4 returns to equal to or smaller than the predeterminedamount. With this structure, the resource monitor means can restore theextended applications 7 ₁ to 7 _(m) to a previous state in which theywas placed before stopped or a state close to the previous one when theavailable amount of the resources 4 is restored.

The resource monitor means 8 can also be so constructed as to determinethe order in that it should restart the extended applications 7 ₁ to 7_(m) from their initial states by using one of the following methods:

(1-1) A method of restarting the extended applications 7 ₁ to 7 _(m) indescending order of priority set to each of the extended applications 7₁ to 7 _(m) in advance;

(1-2) A method of restarting the extended applications 7 ₁ to 7 _(m) inincreasing order of amount of resource 4 which was being used by each ofthem at the time when stopped; and

(1-3) A method of restarting the extended applications 7 ₁ to 7 _(m) inincreasing order of maximum available amount of the resources set toeach of the extended applications 7 ₁ to 7 _(m) in advance.

The resource monitor means can be further so constructed as not to,after restarting the extended applications 7 ₁ to 7 _(m) in turn byusing one of the methods (1-1) to (1-3), restart the remaining of theextended applications 7 ₁ to 7 _(m) any more when the amount of usage ofthe resources 4 exceeds the predetermined amount. With this structure,the application controlling apparatus can use the resources 4efficiently.

The resource monitor means 8 can be so constructed as to, if connectedwith the external network via the communication unit 10 after stoppingthe extended application execution means 6, disconnect this connection,and, after that, restart the extended application execution means 6 fromits initial state, and reconnect with the external network via thecommunication unit 10 when restarting the extended applications 7 ₁ to 7_(m) which were running when stopping the extended application executionmeans 6 from their initial states. Thereby, the application controllingapparatus can also recover the connection with the network.

Similarly, the resource monitor means 8 can be so constructed as to, ifconnected with the external network via the communication unit 10 afterstopping the extended applications 7 ₁ to 7 _(m), disconnect thisconnection, and, after that, if the amount of usage of the resources 4returns to equal to or smaller than the predetermined amount, reconnectwith the external network via the communication unit 10 when restartingthe extended applications 7 ₁ to 7 _(m) which were stopped from theirinitial states. Thereby, the application controlling apparatus can alsorecover the connection with the network.

In a case in which when the resource monitor means 8 is so constructedas to, when stopping the extended application execution means 6, monitorthe extended application execution means 6 by checking whether theextended application execution means 6 is running normally atpredetermined intervals by using the watchdog timer 9, the resourcemonitor means, when stopping the extended application execution means 6,can notify the watchdog timer 9 that it will stop the extendedapplication execution means, and then stop the monitoring using thewatchdog timer 9, and, when restarting the extended applicationexecution means 6, can also notify the watchdog timer 9 that it willrestart the extended application execution means, and then restart themonitoring using the watchdog timer 9. This structure can thus preventoccurrence of such a situation as that in which it is erroneously judgedthat, for example, a system abnormality occurs due to a malfunction ofthe watchdog timer 9, and the whole system is reset.

Similarly, in a case in which the resource monitor means 8 is soconstructed as to monitor whether the extended applications 7 ₁ to 7_(m) are running normally by using the watchdog timer 9 when stoppingthe extended applications 7 ₁ to 7 _(m), the resource monitor means,when stopping the extended applications 7 ₁ to 7 _(m), can notify thewatchdog timer 9 that it will stop the extended applications, andprevent the watchdog timer 9 from malfunctioning, and, when restartingthe extended applications 7 ₁ to 7 _(m), can also notify the watchdogtimer 9 that it will restart the extended applications, and then restartthe monitoring using the watchdog timer 9. This structure can thusprevent occurrence of such a situation as that in which it iserroneously judged that, for example, a system abnormality occurs due toa malfunction of the watchdog timer 9, and the whole system is reset.

The resource monitor means 8 can be implemented as follows:

(2-1) The resource monitor means can be implemented via one of theextended applications 7 ₁ to 7 _(m);

(2-2) The resource monitor means can be implemented via a part of thefunctions of the extended application execution means 6;

(2-3) The resource monitor means can be implemented via one of the basicapplications 3 ₁ to 3 _(n);

(2-4) The resource monitor means can be implemented via a part of thefunctions of the basic application execution means 2; or

(2-5) The resource monitor means can be implemented via a monitoringprogram which runs on external hardware not shown.

The resource monitor means 8, as the predetermined amount of usage ofthe resources 4 which it uses as a criterion by which to judge whetherto stop the extended applications 7 ₁ to 7 _(m), can use one of thefollowing values:

(3-1) A fixed value which is set up beforehand;

(3-2) A variation which depends upon the amount of usage of theresources 4 being used by the basic applications 3 ₁ to 3 _(n), and, inthis case, if the amount of usage of the resources 4 being used by thebasic applications 3 ₁ to 3 _(n) is large, a small variation is used;

(3-3) A default which is set up for each of the extended applications 7₁ to 7 _(m), or a value which is set up by the user;

(3-4) A default which depends upon the types of the extendedapplications 7 ₁ to 7 _(m), and, for example, a larger amount of theresources can be assigned to the extended applications 7 ₁ to 7 _(m) ifthey are downloaded from a reliable site; and

(3-5) A default which is set up for each user which has started anextended application, and, for example, a larger amount of the resourcescan be assigned to an extended application which the driver has started.

Embodiment 2

An application controlling apparatus in accordance with embodiment 2 ofthe present invention is so constructed as to select some of extendedapplications 7 ₁ to 7 _(m) which it will stop when the amount of usageof resources 4 being used by the extended applications 7 ₁ to 7 _(m)exceeds a predetermined amount.

FIG. 3 is a block diagram showing the structure of an applicationcontrolling apparatus in accordance with embodiment 2 of the presentinvention. This application controlling apparatus is additionallyprovided with a user interface 11 and an application-to-be-stoppedselection means 12 in addition to the components of the applicationcontrolling apparatus in accordance with embodiment 1.

The user interface 11 consists of, for example, a display unit and aninput unit. The display unit is used in order to provide a user with alist of running extended applications 7 ₁ to 7 _(m). The input unit isused in order to allow the user to select one extended application fromamong the extended applications 7 ₁ to 7 _(m) provided by the displayunit.

The application-to-be-stopped selection means 12 selects some of theextended applications 7 ₁ to 7 _(m) which are to be stopped when theamount of usage of the resources 4 exceeds the predetermined amount. Inthis case, the application-to-be-stopped application selection means 12can be so constructed as to run as follows:

(4-1) The application-to-be-stopped application selection means stopsall the running extended applications 7 ₁ to 7 _(m);

(4-2) The application-to-be-stopped application selection means checksthe amount of usage of the resources 4 being used by the extendedapplications 7 ₁ to 7 _(m), and selects a predetermined number ofextended applications from among the extended applications 7 ₁ to 7 _(m)in decreasing order of amount of usage of the resources 4, thereby beingable to reduce the total amount of usage of the resources 4 greatly;

(4-3) The application-to-be-stopped application selection mean writes asequential number into a table (not shown), which the extendedapplication execution means 6 uses to manage the extended applications 7₁ to 7 _(m), every time when starting each of the extended applications7 ₁ to 7 _(m), and stops a predetermined number of extended applicationswhich are selected from the extended applications 7 ₁ to 7 _(m) in theorder in which they have been started, and, because it can be assumedthat some of the extended applications 7 ₁ to 7 _(m) which were startedat earlier times than the remainder of the extended applications 7 ₁ to7 _(m) which were started at later times will be used at less frequency,and therefore the influence at the time when stopping some of theextended applications 7 ₁ to 7 _(m) which were started at earlier timescan be reduced;

(4-4) The application-to-be-stopped application selection mean writes asequential number into a table (not shown), which the extendedapplication execution means 6 uses to manage the extended applications 7₁ to 7 _(m), every time when starting each of the extended applications7 ₁ to 7 _(m), and stops a predetermined number of extended applicationswhich are selected from the extended applications 7 ₁ to 7 _(m) in anorder opposite to the order in which they have been started, and, incontrast to the above-mentioned case (4-3), because it can be assumedthat some of the extended applications 7 ₁ to 7 _(m) which have beenused for a smaller time period than the remainder of the extendedapplications 7 ₁ to 7 _(m) which have been used for a longer time periodwill be used at less frequency, and therefore the influence at the timewhen stopping some of the extended applications 7 ₁ to 7 _(m) which havebeen used for a smaller time period can be reduced;

(4-5) The application-to-be-stopped application selection mean, whenacquiring and storing the extended applications 7 ₁ to 7 _(m),simultaneously acquires, as additional information on the extendedapplications 7 ₁ to 7 _(m), priorities as well as the extendedapplications 7 ₁ to 7 _(m) themselves, assigns the priorities to theextended applications 7 ₁ to 7 _(m), respectively, and stops only apredetermined number of extended applications which are selected fromthe extended applications 7 ₁ to 7 _(m) in descending order of priority,thereby being able to stop only lower-priority ones of the extendedapplications 7 ₁ to 7 _(m), i.e., only ones of the extended applications7 ₁ to 7 _(m) which have a little influence upon the operation of thevehicle-mounted equipment even if they are stopped;

(4-6) The application-to-be-stopped application selection mean displaysa list of running extended applications 7 ₁ to 7 _(m) on the displayunit of the user interface 11 to provide them to the user, and makes theuser select only a predetermined number of extended applications to bestopped from among the extended applications 7 ₁ to 7 _(m), therebybeing able to prevent some of the extended applications 7 ₁ to 7 _(m)which the user does not desire to stop from being accidentally stopped;

(4-7) In the above-mentioned case (4-6), the application-to-be-stoppedapplication selection mean determines extended applications 7 ₁ to 7_(m) which are to be provided to the user on the basis of the amount ofusage of the resources 4 and their priorities, thereby being able toprovide only some of the extended applications 7 ₁ to 7 _(m) having amiddle amount of usage of the resources 4 and a middle priority for theuser so as to make the user select some of them, and being able tounconditionally stop some of the extended applications 7 ₁ to 7 _(m)having a larger amount of usage of the resources 4 or a lower priorityand to unconditionally keep the remainder of the extended applications 7₁ to 7 _(m) having a smaller amount of usage of the resources 4 or ahigher priority running;

(4-8) In either of the above-mentioned cases (4-2) to (4-7), theapplication-to-be-stopped application selection mean stops the extendedapplications 7 ₁ to 7 _(m) in turn until the amount of usage of theresources 4 becomes equal to or smaller than the predetermined amount,instead of stopping only a predetermined number of extended applicationswhich are selected from the extended applications 7 ₁ to 7 _(m), therebyeliminating the necessity to stop the extended applications 7 ₁ to 7_(m) superfluously;

(4-9) When acquiring and storing extended applications 7 ₁ to 7 _(m),the application-to-be-stopped application selection mean simultaneouslyacquires, as extended application additional information, a flagindicating whether or not each of the extended applications can bestopped, as well as the extended applications 7 ₁ to 7 _(m) themselves,sets the flag to each of the extended applications 7 ₁ to 7 _(m), andstops only ones which can be stopped of the extended applications 7 ₁ to7 _(m), thereby being able to prevent the ones of the extendedapplications 7 ₁ to 7 _(m) which cause a problem if stopped from beingstopped; and

(4-10) The application-to-be-stopped application selection mean stopsall ones of the extended applications 7 ₁ to 7 _(m) whose amount ofusage of the resources 4 is equal to or larger than the predeterminedamount, thereby being able to reduce the total amount of usage of theresources 4 greatly.

As previously explained, the application controlling apparatus inaccordance with embodiment 2 of the present invention can stop extendedapplications 7 ₁ to 7 _(m) under various conditions. Therefore, theapplication controlling apparatus can construct a suitable systemaccording to the use or the purpose thereof.

Embodiment 3

An application controlling apparatus in accordance with embodiment 3 ofthe present invention is so constructed as to control a stop of extendedapplications 7 ₁ to 7 _(m) using information on a vehicle in a case inwhich the application controlling apparatus is applied tovehicle-mounted equipment. From the viewpoint of the security of thevehicle, it is more important to prevent such basic applications 3 ₁ to3 _(n) as those which serve as a navigation function from aborting whilethe vehicle is traveling as compared with during a stop. To solve thisproblem, this application controlling apparatus judges whether thevehicle is traveling or at a stop so as to carry out a finer process.

FIG. 4 is a block diagram showing the structure of the applicationcontrolling apparatus in accordance with embodiment 3 of the presentinvention. This application controlling apparatus additionally includesa vehicle state acquiring means 13 in addition to the components of theapplication controlling apparatus in accordance with embodiment 1. Thevehicle state acquiring means 13 acquires information indicating thestate of the vehicle, for example, information indicating whether thevehicle is at a stop or traveling from a vehicle state detecting meansnot shown, for example, a velocity sensor.

As previously explained, the application controlling apparatus inaccordance with above-mentioned embodiment 1 is so constructed as tocheck the amount of usage of resources 4 at predetermined intervals orwhen a resource request is made by the extended applications 7 ₁ to 7_(m). In contrast, in the application controlling apparatus inaccordance with this embodiment 3, the resource monitor means 8 checksthe amount of usage of the resources 4 while changing the length ofintervals at which it performs the checking according to the state ofthe vehicle acquired by the vehicle state acquiring means 13. Forexample, the resource monitor means checks the amount of usage of theresources 4 at long time intervals when the vehicle is at a stop,whereas it checks the amount of usage of the resources 4 at short timeintervals when the vehicle is traveling.

With this structure, by shortening the length of the intervals at whichthe resource monitor means 8 checks the amount of usage of the resources4 while the vehicle is traveling as compared with that of the intervalsat which it checks the amount of usage of the resources 4 while thevehicle is at a stop, even when the amount of usage of the resources 4increases rapidly while the vehicle is traveling, the resource monitormeans 8 can detect the rapid increase promptly and stop the extendedapplications 7 ₁ to 7 _(m). Therefore, during the vehicle's travelingduring which the risk factor is high and it is important not to stop thebasic applications 3 ₁ to 3 _(n), the resource monitor means can checkthe amount of usage of the resources 4 finely.

In addition, in the application controlling apparatus in accordance withabove-mentioned embodiment 1, the resource monitor means 8 is soconstructed as to use, as the predetermined amount of usage of theresources 4 which is defined as a criterion for stopping the extendedapplications 7 ₁ to 7 _(m), a fixed value which is set up beforehand, avariation depending upon the amount of usage of the resources 4 beingused by the basic applications 3 ₁ to 3 _(n), a default or auser-defined value which is set up for each of the extended applications7 ₁ to 7 _(m), a default depending upon the types of the extendedapplications 7 ₁ to 7 _(m), or a default which is set up for each userwhich has started the extended applications 7 ₁ to 7 _(m). In contrast,in the application controlling apparatus in accordance with thisembodiment 3, the resource monitor means 8 is so constructed as to use,as the predetermined amount of usage of the resources 4 which is definedas a criterion for stopping the extended applications 7 ₁ to 7 _(m), avariation depending upon the state of the vehicle acquired by thevehicle state acquiring means 13. To be more specific, when the vehicleis traveling, the allowable amount of usage of the resources 4 is set tobe smaller than that at the time when the vehicle is at a stop. Withthis structure, because the extended applications 7 ₁ to 7 _(m) arestopped in a state in which the amount of usage of the resources 4 beingused by the extended applications 7 ₁ to 7 _(m) is smaller, theinfluence upon the basic applications 3 ₁ to 3 _(n) can be reduced.

The basic application execution means 2, the resource management means 2a, the extended application execution means 6, the resource managementmeans 6 a, the resource monitor means 8, the application-to-be-stoppedselection means 12 and the vehicle state acquiring means 13, whichconstruct the application controlling apparatus in accordance witheither of above-mentioned embodiments 1 to 3, can be implemented viasoftware which can be executed by a computer, and a storage medium whichstores this software can be installed into an information processingapparatus so that it can be executed. In this case, the same operationas the application controlling apparatus in accordance with either ofabove-mentioned embodiments 1 to 3 can be performed and the sameadvantage as the application controlling apparatus in accordance witheither of above-mentioned embodiments 1 to 3 can be provided.

INDUSTRIAL APPLICABILITY

As mentioned above, the application controlling apparatus in accordancewith the present invention and a storage medium which stores theapplication controlling apparatus can take appropriate measures even ifan extended application falls out of control, and is suitable for use insuch equipment as a car navigation apparatus.

1. An application controlling apparatus comprising: a basic applicationstorage means for storing a basic application for implementing a basicfunction; a basic application execution means for reading a basicapplication from said basic application storage means so as to make thebasic application be executed; an extended applicationacquisition/storage means for acquiring and storing an extendedapplication for implementing an additional function; an extendedapplication execution means for reading an extended application fromsaid extended application acquisition/storage means so as to make theextended application be executed; and a resource monitor means formonitoring resources currently being consumed by the execution of saidextended application, and for stopping a predetermined extendedapplication while keeping the basic application running when an amountof usage of said resources exceeds a predetermined amount.
 2. Theapplication controlling apparatus according to claim 1, characterized inthat after the amount of usage of the resources being used by extendedapplications exceeds the predetermined amount, the resource monitormeans returns an error to a request for resources from said extendedapplication.
 3. The application controlling apparatus according to claim1, characterized in that after the amount of usage of the resourcesbeing used by extended applications exceeds the predetermined amount,the resource monitor means inhibits a start of any other extendedapplication.
 4. The application controlling apparatus according to claim1, characterized in that said apparatus includes anapplication-to-be-stopped selection means for selecting an extendedapplication which is to be stopped when the amount of usage of theresources being used by extended applications exceeds the predeterminedamount, and the resource monitor means stops the extended applicationselected by said application-to-be-stopped selection means when theamount of usage of resources being used by extended applications exceedsthe predetermined amount.
 5. The application controlling apparatusaccording to claim 1, characterized in that the resource monitor meansmonitors, as the resources currently being consumed by the execution ofthe extended application, at least one of a usage rate of a CPU, anamount of usage of a memory, an amount of usage of an external storageunit, a number of extended applications being executed, a number ofobjects displayed on a screen, and a sum of areas of the objectsdisplayed on a screen.
 6. The application controlling apparatusaccording to claim 1, characterized in that the resource monitor meansalso monitors an amount of usage of resources being used by basicapplications, in addition to the amount of usage of the resources beingused by extended applications.
 7. The application controlling apparatusaccording to claim 1, characterized in that the resource monitor meansstops extended applications by stopping the extended applicationexecution means when the amount of usage of the resources being used byextended applications exceeds the predetermined amount.
 8. Theapplication controlling apparatus according to claim 7, characterized inthat the resource monitor means restarts the extended applicationexecution means from its initial state after stopping said extendedapplication execution means, and restarts the extended applicationswhich were running when stopping the extended application executionmeans from their initial states.
 9. The application controllingapparatus according to claim 8, characterized in that the resourcemonitor means restarts the extended application execution means from itsinitial state when the amount of usage of the resources returns to anamount equal to or smaller than the predetermined amount after stoppingthe extended application execution means.
 10. The applicationcontrolling apparatus according to claim 1, characterized in that theresource monitor means restarts the extended application which it hasstopped from its initial state when the amount of usage of the resourcesreturns to an amount equal to or smaller than the predetermined amount.11. The application controlling apparatus according to claim 10,characterized in that the resource monitor means restarts extendedapplications which it has stopped from their initial states indescending order of priority assigned to each of the extendedapplications in advance, in increasing order of an amount of resourcesused by each of the extended applications when stopped, or in increasingorder of a maximum amount of usage of resources set to each of theextended applications in advance, and stops the restarting in progresswhen the amount of usage of the resources exceeds the predeterminedamount as a result of the restarting.
 12. The application controllingapparatus according to claim 8, characterized in that said apparatusincludes a communication unit which carries out communications via anexternal network, the resource monitor means, if it is connected to theexternal network via said communication unit when stopping the extendedapplication execution means, disconnects this connection, after that,restarts said extended application execution means from its initialstate, and reconnects to the external network via said communicationunit when restarting extended applications which were running whenstopping said extended application execution means from their initialstates.
 13. The application controlling apparatus according to claim 10,characterized in that said apparatus includes a communication unit whichcarries out communications via an external network, the resource monitormeans, if it is connected to the external network via said communicationunit when stopping the extended application execution means, disconnectsthis connection, and, after that, if the amount of usage of theresources returns to an amount equal to or smaller than thepredetermined amount, reconnects to the external network via saidcommunication unit when restarting extended applications which theresource monitor means has stopped from their initial states.
 14. Theapplication controlling apparatus according to claim 8, characterized inthat said apparatus includes a watchdog timer for monitoring theextended application execution means by checking to see whether or notsaid extended application execution means is running normally atpredetermined intervals, and the resource monitor means stops themonitoring of said watchdog timer when stopping said extendedapplication execution means, and, after that, restarts said extendedapplication execution means from its initial state and makes saidwatchdog timer restarts the monitoring when restarting extendedapplications which were running when stopping said extended applicationexecution means from their initial states.
 15. The applicationcontrolling apparatus according to claim 10, characterized in that saidapparatus includes a watchdog timer for monitoring extended applicationsby checking to see whether or not said extended applications are runningnormally at predetermined intervals, and the resource monitor meansstops the monitoring of said watchdog timer when stopping extendedapplications, and, after that, if the amount of usage of the resourcesreturns to an amount equal to or smaller than the predetermined amount,makes said watchdog timer restarts the monitoring when restarting theextended applications which it has stopped from their initial states.16. The application controlling apparatus according to claim 1,characterized in that the resource monitor means checks to see whetherthe amount of usage of the resources exceeds the predetermined amount atpredetermined intervals or when an extended application makes a requestfor resources.
 17. The application controlling apparatus according toclaim 1, characterized in that said apparatus includes a vehicle stateacquiring means for acquiring a state of a vehicle, and the resourcemonitor means changes a length of intervals at which it checks to seewhether the amount of usage of the resources exceeds the predeterminedamount according to the state of the vehicle acquired by said vehiclestate acquiring means.
 18. The application controlling apparatusaccording to claim 1, characterized in that the resource monitor meansis constructed as one extended application, a part of functions of theextended application execution means, one basic application, a part offunctions of the basic application execution means, or a supervisoryprogram which runs on external hardware.
 19. The application controllingapparatus according to claim 1, characterized in that the resourcemonitor means uses, as the predetermined amount of usage of resourceswhich is used as a criterion for stopping extended applications, a fixedvalue which is set up beforehand, a variation depending upon an amountof usage of resources being used by basic applications, a default or auser-defined value which is set up for each extended application, adefault depending upon a type of extended applications, or a defaultwhich is set up for each user which has started an extended application.20. The application controlling apparatus according to claim 1,characterized in that said apparatus includes a vehicle state acquiringmeans for acquiring a state of a vehicle, and the resource monitor meansuses, as the predetermined amount of usage of resources which is used asa criterion for stopping extended applications, a variation dependingupon the state of the vehicle acquired by said vehicle state acquiringmeans.
 21. A storage medium which stores software which can be executedby a computer, the software comprising the steps of: reading a basicapplication for implementing a basic function from a basic applicationstorage means for storing the basic application so as to make the basicapplication be executed; reading an extended application forimplementing an additional function from an extended applicationacquisition/storage means for acquiring and storing the extendedapplication so as to make the extended application be executed;monitoring resources currently being consumed by execution of saidextended application; and stopping a predetermined extended applicationwhile keeping the basic application running when an amount of usage ofsaid resources exceeds a predetermined amount.